package com.kuang.utils;

import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;

import java.text.SimpleDateFormat;

/**工具类
 * 将需要转换成json格式的个钟类型的对象封装在一个工具类中，
 * 方便后期直接拿来就使用
 * @author FHL
 */
public class JsonUtils {

    //【优秀的地方来啦：】
    //这个方法和下面的时间格式的方法名一样，
    // 所以在下次要使用getJson来将其他类型转换成json格式时，
    //如果是两个参数就会直接去调用下面那个日期格式的，如果是一个参数就会调用上面这个方法
    public static String getJson(Object object){
        return getJson(object,"yyyy-MM-dd HH:mm:ss");
        //【注意return的写法】
    }
    //先写一个时间格式的
    public static String getJson(Object object,String dataFormat){
        ObjectMapper mapper = new ObjectMapper();
        //不使用时间差的方式
        mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);
        //自定义日期格式对象
        SimpleDateFormat sdf = new SimpleDateFormat(dataFormat);
        //指定日期格式
        mapper.setDateFormat(sdf);
        try {
            return mapper.writeValueAsString(object);
        } catch (JsonProcessingException e) {
            e.printStackTrace();
        }
        return null;
    }
}
